Storage devices are employed to store data that are accessed by computer systems. Examples of basic storage devices include volatile and non-volatile memory, floppy drives, hard disk drives, tape drives, and optical drives. A storage device may be locally attached to an input/output (IO) channel of a computer. For example, a hard disk drive may be connected to a computer's disk controller. A storage device may also be accessible over a network. Examples of such storage devices include network attached storage (NAS) and storage area network (SAN) devices. A storage device may be a single stand-alone component or be comprised of a system of storage devices such as in the case of Redundant Array of Inexpensive Disks (RAID) groups.
A traditional RAID group is a collection of hard disk drives operating together logically as a unified storage device, e.g., to provide some data protection through redundancy. Storage devices with RAID groups are designed to store large quantities of data and typically include one or more storage array processors (SPs), for handling both requests for allocation and IO requests.
Many computing devices now include non-volatile memory (NVM), such as certain magnetic, semiconductor, and/or optical storage media, and may include removable disk systems, hard drives, and other storage media systems allowing the device and/or a user to store data the device uses or is directed to use. The characteristics of non-volatile, vibration-free, small size, and low power consumption have made a type of NVM known as flash memory an excellent component to be utilized in various storage systems. Flash storage devices are widely used as memory storage for computers and consumer system products such as a notebook, desktop computer, set top box, digital camera, mobile phone, PDA and GPS. The increasing demand for more storage in these products has driven the need to expand the capacity of flash storage devices.
Flash memory may also be used in one or more multiple locations in a computer system. For example, computer systems may include different flash memory based resources used by one or more host processors. Such resources and host processors in a computer system may be interconnected by one or more communication connections. These flash memory based resources may include, for example, data storage devices such as those included in the data storage systems manufactured by EMC Corporation. These data storage systems may be coupled to one or more servers or host processors (also known as hosts) and provide storage services to each host processor. Multiple data storage systems from one or more different vendors may be connected and may provide common data storage for one or more host processors in a computer system.
There are at least two types of flash storage devices. A first type has a pre-defined mechanical dimension. This type includes: (a) Secure Digital (SD) card, (b) Multi Media Card (MMC), (c) Memory Stick (MS) card, (d) Compact Flash (CF) card, (e) Express Flash card, (f) Serial Advanced Technology Attachment (ATA) Flash disk, and (g) Small Computer System Interface (SCSI) Flash disk.
A second type of flash storage devices has no pre-defined physical dimension, which includes universal serial bus flash disk (USB), Disk On Module (DOM), and MP3 players. However, based upon the need for the system compactness, it is generally desirable to make this type of flash storage device as small in size and as high in capacity as possible.
Advances in semiconductor technology have led to an increase in the use of semiconductor solid state drives (also known as solid state disks or SSDs), which may use flash memory as a storage device, in areas such as computer systems. Thus, in at least some cases there may be a trend towards the use of SSDs as storage devices instead of, or in addition to, magnetic disks.
An SSD has many features that can make it an attractive storage device. For example, SSDs have a fast access rate, high throughput, a high integration density, and stability against an external impact. SSDs can move large amounts of data and process a large number of IO requests. This allows users to complete data transactions much more quickly.
Furthermore, advances in manufacturing technologies for SSDs may reduce the production costs of SSDs and also increase the storage capacities of SSDs. These developments may provide incentive to use SSDs in place of or in conjunction with magnetic disks in at least some cases.
A flash memory die is the basic element of flash memory. A typical flash memory chip comprises a flash memory die mounted on a substrate within an enclosure and the electrical signals are bonded out to the metal contacts of the package. Two popular package types for flash memory chips are WSOP (Very Very Small Out-line Package) and BGA (Ball Grid Array).
A flash memory die is composed of a number of cells that are used to store data. For instance, a single cell may store one, two, or more bits of data, depending on the design. Cells may be organized into one or more pages and pages may be grouped together to form blocks. For example, a page may contain four kilobytes (KB) of data and a block may contain 128 pages or 512 KB of data.